@echo off
setlocal enabledelayedexpansion

REM 检查是否以管理员权限运行
NET SESSION >nul 2>&1
if %errorLevel% neq 0 (
    echo 请以管理员身份运行此脚本！
    echo 右键点击此脚本文件，选择"以管理员身份运行"
    pause
    exit /b 1
)

REM 跳过PowerShell，直接使用cmd执行

REM 检查Bun是否已安装
echo 正在检查Bun是否已安装...
where bun >nul 2>&1
if %errorLevel% neq 0 (
    echo Bun未安装！请先安装Bun：
    echo 1. 访问 https://bun.sh/download
    echo 2. 下载并安装Windows版本
    echo 3. 安装完成后重新运行此脚本
    pause
    exit /b 1
)

echo Bun已安装！

REM 查找Bun实际可执行文件路径（不使用PowerShell）
echo 正在查找Bun可执行文件...
for /f "tokens=2* delims= " %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "Bun" ^| findstr /i "DisplayIcon"') do (
    set "BUN_INSTALL_DIR=%%~dpb"
)

REM 如果注册表查找失败，尝试常见安装路径
if not defined BUN_INSTALL_DIR (
    if exist "%USERPROFILE%\.bun\bin\bun.exe" (
        set "BUN_INSTALL_DIR=%USERPROFILE%\.bun\bin\"
    ) else if exist "%ProgramFiles%\Bun\bun.exe" (
        set "BUN_INSTALL_DIR=%ProgramFiles%\Bun\"
    ) else (
        echo 无法确定Bun安装路径，但检测到bun命令可用
        set "BUN_INSTALL_DIR="
    )
)

echo Bun安装目录: %BUN_INSTALL_DIR%

REM 安装项目依赖
if defined BUN_INSTALL_DIR (
    echo 使用已知路径安装项目依赖: "%BUN_INSTALL_DIR%bun.exe" install
    "%BUN_INSTALL_DIR%bun.exe" install
) else (
    echo 使用系统路径安装项目依赖: bun install
    bun install
)

if %errorLevel% neq 0 (
    echo 项目依赖安装失败！
    pause
    exit /b 1
)

echo 项目依赖安装成功！

REM 启动开发服务器（使用cmd启动，完全避开PowerShell）
echo 正在启动开发服务器...
echo 服务器将在浏览器中打开：http://localhost:3000
start http://localhost:3000

if defined BUN_INSTALL_DIR (
    echo 使用已知路径启动服务器: "%BUN_INSTALL_DIR%bun.exe" run dev
    "%BUN_INSTALL_DIR%bun.exe" run dev
) else (
    echo 使用系统路径启动服务器: bun run dev
    bun run dev
)

pause
endlocal